4c7211679657b1857ddbce946799cab93f18f9a1,src/main/java/com/cognitect/transit/impl/JsonParser.java,JsonParser,parseMap,#boolean#ReadCache#MapReadHandler#JsonToken#,79
Before Change
String keyString = (String) key;
if (keyString.length() > 1 && keyString.charAt(1) == Constants.TAG) {
tagged = true;
val_handler = handlers.get(keyString.substring(2));
}
}
jp.nextToken();
if (!tagged) {
val = parseVal(false, cache);
mb = mr.add(mb, key, val);
} else {
if (val_handler != null) {
if (this.jp.getCurrentToken() == JsonToken.START_OBJECT && val_handler instanceof MapReadHandler) {
// use map reader to decode value
val = parseMap(false, cache, (MapReadHandler) val_handler);
} else if (this.jp.getCurrentToken() == JsonToken.START_ARRAY && val_handler instanceof ArrayReadHandler) {
// use array reader to decode value
val = parseArray(false, cache, (ArrayReadHandler) val_handler);
} else {
// read value and decode normally
val = val_handler.fromRep(parseVal(false, cache));
}
} else {
// default decode
val = this.decode(((String)key).substring(2), parseVal(false, cache));
}
jp.nextToken(); // advance past end of object or array
return val;
After Change
}
} else {
// default decode
val = this.decode(tag, parseVal(false, cache));
}
jp.nextToken(); // advance to read end of object or array
return val;